#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QTextEdit>
#include <QSplitter>

// 前向声明
class TextEditor;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    // 公共接口函数
    QString getCatalogContent() const;
    void setCatalogContent(const QString &content);

    QString getCommentContent() const;
    void setCommentContent(const QString &content);

    TextEditor* getTextEditor() const;

private slots:
    // 可以在这里添加槽函数，例如：
    // void onCatalogChanged();
    // void onCommentChanged();

private:
    void setupUI();
    void setupCatalogPanel(QSplitter *parent);
    void setupTextEditor(QSplitter *parent);
    void setupCommentPanel(QSplitter *parent);

    // 成员变量
    TextEditor *textEditor;     // 中间的文本编辑器

    // 左侧目录相关
    QLabel *catalogLabel;
    QTextEdit *catalogTextEdit;

    // 右侧注释相关
    QLabel *commentLabel;
    QTextEdit *commentTextEdit;
};

#endif // MAINWINDOW_H
